package org.lyl.taobao.dao;

import org.lyl.taobao.api.entity.User;

import java.sql.Connection;
import java.util.List;

/**
 * @Author: Re
 * @Date: 2021/3/26 14:14
 */
public interface IUserDao {
    /**
     * 用户注册接口
     * @param connection
     * @param user
     * @return
     */
    boolean insertUser(Connection connection, User user);

    /**
     * 用户登录接口
     * @param connection
     * @param user
     * @return
     */
    User registerUser(Connection connection,User user);


    /**
     * 管理员查看所有用户接口
     * @param connection
     * @return
     */
    List<User> checkAllUser(Connection connection);

    /**
     * 管理员查看单个用户接口（个人主页）
     * @param connection
     * @param userName
     * @return
     */
    List<User> checkUser(Connection connection,String userName);

    /**
     * 管理员删除用户接口
     * @param connection
     * @param userName
     * @return
     */
    boolean deleteUser(Connection connection,String userName);

    /**
     * 用户更改密码接口
     * @param connection
     * @param user
     * @return
     */
    boolean updateUser(Connection connection,User user);

    /**
     * 根据商品id获取用户id
     * @param connection
     * @param c_Id
     * @return
     */
    Integer getUserIdByC_Id(Connection connection,Integer c_Id);

    /**
     * 查看用户的余额
     * @param connection
     * @param userId
     * @return
     */
    float getUserBalanceByUserId(Connection connection,Integer userId);

    /**
     * 减少用户余额
     * @param connection
     * @param price
     * @param userId
     * @return
     */
    boolean reduceBalanceByUserId(Connection connection,float price,Integer userId);

    /**
     * 增加用户余额
     * @param connection
     * @param price
     * @param userId
     * @return
     */
    boolean addBalanceByUserId(Connection connection,float price,Integer userId);

    /**
     * 传入图片路径
     * @param connection
     * @param imgPath
     * @return
     */
    boolean addPhoto(Connection connection,String imgPath,User user);
}
